package io.github.yangyouwang.crud.app.service;

import com.alibaba.druid.util.StringUtils;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import io.github.yangyouwang.crud.app.entity.Device;
import io.github.yangyouwang.crud.app.mapper.DeviceMapper;
import io.github.yangyouwang.crud.app.mapper.UserMapper;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;
import java.util.Map;

/**
* <p>
 * 设备表 服务实现类
 * </p>
*/
@Service
public class DeviceService extends ServiceImpl<DeviceMapper, Device> {

  @Resource
  private DeviceMapper deviceMapper;

  @Resource
  private UserMapper userMapper;
  /**
  * 设备表分页列表
  * @param param 参数
  * @return 结果
  */
  public List<Device> page(Device param) {
    QueryWrapper<Device> queryWrapper = new QueryWrapper<>();
    queryWrapper.lambda()
            //原为第一个like，其他是eq
            //线路编号
            .eq(!StringUtils.isEmpty(param.getLineNo()), Device::getLineNo, param.getLineNo())
            //线路名称
            .eq(!StringUtils.isEmpty(param.getLineName()), Device::getLineName, param.getLineName())
            //序列号
            .eq(!StringUtils.isEmpty(param.getSNumber()), Device::getSNumber, param.getSNumber());
    return deviceMapper.getInfoList(queryWrapper);
  }
  /**
  * 设备表详情
  * @param id 主键
  * @return 结果
  */
  public Map info(Long id) {
    return deviceMapper.getInfoById(id);
  }

  /**
  * 设备表新增
  * @param param 根据需要进行传值
  */
  public void add(Map param) {
    deviceMapper.getInsert(param);
    //save(param);
  }

  public void ImportAdd(Device param) {
    save(param);
  }
  /**
  * 设备表修改
  * @param param 根据需要进行传值
  */
  public void modify(Map param) {
    deviceMapper.getUpdateById(param);
    //updateById(param);
  }

  /**
  * 设备表删除(单个条目)
  * @param id 主键
  */
  public void remove(Long id) {
    removeById(id);
  }

  /**
  * 设备表删除(多个条目)
  * @param ids 主键数组
  */
  public void removes(List<Long> ids) {
     removeByIds(ids);
   }
}
